Circuit designers use electronic design automation (EDA) tools, a category of computer-aided design (CAD) tools, for designing and laying out electronic circuits, including formulating the logic that underlies the operation of the circuit, simulating the operation of the circuit, determining where cells (i.e., logic elements including devices, e.g., transistors) should be placed and where the interconnects that couple the cells together should be routed. EDA tools allow designers to construct a circuit and simulate its performance using a computer and without requiring the costly and lengthy process of manual fabrication. EDA tools are indispensable for designing modern ICs, particularly very-large-scale integrated circuits (VLSICs). For this reason, EDA tools are in wide use.
During an initial, “design,” stage, circuit designers employ one or more EDA tools to create a logical representation of a desired electronic circuit. After becoming satisfied (typically through simulation) that the logical representation of the circuit operates as intended, the circuit designers then employ EDA tools called “IC compilers” (ICCs) to transform the logical representation (typically embodied in a “netlist”) automatically into a corresponding physical representation in an “implementation” stage. The implementation stage typically includes two substages: a “placement” substage in which appropriate cells are selected from a cell library and placed relative to one another in an area representing a substrate which will support the circuit, and a “routing” substage in which the interconnects are routed across the substrate to yield a cohesive electronic circuit.